package com.joyintech.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 方案管理信息 实体类
 *
 * @author tangbiao
 * @date 2025-04-08
 * @change 2025-04-08 by tangbiao for init
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class DwdAstPlanManagementPageVo extends PageParam{

    /**
     * 方案ID
     */
    //@ApiModelProperty(value = "方案ID")
    //@ExcelProperty(value = "方案ID")
    private String planId;

    /**
     * 方案名称
     */
    //@ApiModelProperty(value = "方案名称")
    //@ExcelProperty(value = "方案名称")
    private String planName;

    /**
     * 方案时间
     */
    //@ApiModelProperty(value = "方案时间")
    //@ExcelProperty(value = "方案时间")
    private LocalDate planTime;

    /**
     * 下次检视时间
     */
    //@ApiModelProperty(value = "下次检视时间")
    //@ExcelProperty(value = "下次检视时间")
    private LocalDate nextReviewTime;

    /**
     * 操作人员
     */
    //@ApiModelProperty(value = "制作人员")
    //@ExcelProperty(value = "制作人员")
    private String operator;

    /**
     * 审核人
     */
    //@ApiModelProperty(value = "审核人")
    //@ExcelProperty(value = "审核人")
    private String audit_user;

    /**
     * 是否需要复核
     */
    //@ApiModelProperty(value = "是否需要复核")
    //@ExcelProperty(value = "是否需要复核")
    private String needReview;

    /**
     * 复核原因
     */
    //@ApiModelProperty(value = "复核原因")
    //@ExcelProperty(value = "复核原因")
    private String reviewReason;

    /**
     * 复核状态
     */
    //@ApiModelProperty(value = "复核状态")
    //@ExcelProperty(value = "复核状态")
    private String reviewStatus;

    /**
     * 客户姓名
     */
    //@ApiModelProperty(value = "客户姓名")
    //@ExcelProperty(value = "客户姓名")
    private String customerName;

    /**
     * 核心客户号
     */
    //@ApiModelProperty(value = "核心客户号")
    //@ExcelProperty(value = "核心客户号")
    private String custId;

    /**
     * 受托客户经理
     */
    //@ApiModelProperty(value = "受托客户经理")
    //@ExcelProperty(value = "受托客户经理")
    private String entrustedCustomerManager;

    /**
     * 年龄
     */
    //@ApiModelProperty(value = "年龄")
    //@ExcelProperty(value = "年龄")
    private Integer age;

    /**
     * 证件类型
     */
    //@ApiModelProperty(value = "证件类型")
    //@ExcelProperty(value = "证件类型")
    private String certificateType;

    /**
     * 私行客户经理
     */
    //@ApiModelProperty(value = "私行客户经理")
    //@ExcelProperty(value = "私行客户经理")
    private String privateBankingManager;

    /**
     * 是否合格投资者
     */
    //@ApiModelProperty(value = "是否合格投资者")
    //@ExcelProperty(value = "是否合格投资者")
    private String isQualifiedInvestor;

    /**
     * 证件号码
     */
    //@ApiModelProperty(value = "证件号码")
    //@ExcelProperty(value = "证件号码")
    private String idNumber;

    /**
     * 客户实际层级
     */
    //@ApiModelProperty(value = "客户实际层级")
    //@ExcelProperty(value = "客户实际层级")
    private String customerActualTier;

    /**
     * 归属支行
     */
    //@ApiModelProperty(value = "归属支行")
    //@ExcelProperty(value = "归属支行")
    private String branch;

    /**
     * 客户风险等级
     */
    //@ApiModelProperty(value = "客户风险等级")
    //@ExcelProperty(value = "客户风险等级")
    private String customerRiskLevel;

    /**
     * 性别
     */
    //@ApiModelProperty(value = "性别")
    //@ExcelProperty(value = "性别")
    private String gender;

    /**
     * 当前时点行内受托金融资产
     */
    //@ApiModelProperty(value = "当前时点行内受托金融资产")
    //@ExcelProperty(value = "当前时点行内受托金融资产")
    private BigDecimal currentFinancialAssets;

    /**
     * 配置策略类型
     */
    //@ApiModelProperty(value = "配置策略类型")
    //@ExcelProperty(value = "配置策略类型")
    private String configurationStrategyType;

    /**
     * 计划引进资金
     */
    //@ApiModelProperty(value = "计划引进资金")
    //@ExcelProperty(value = "计划引进资金")
    private BigDecimal plannedFundIntroduction;

    /**
     * 提前支取资金
     */
    //@ApiModelProperty(value = "提前支取资金")
    //@ExcelProperty(value = "提前支取资金")
    private BigDecimal earlyWithdrawalFund;

    /**
     * 配置建议有效时间
     */
    //@ApiModelProperty(value = "配置建议有效时间")
    //@ExcelProperty(value = "配置建议有效时间")
    private String configurationAdviceValidity;

    /**
     * 失效时间
     */
    //@ApiModelProperty(value = "失效时间")
    //@ExcelProperty(value = "失效时间")
    private LocalDate expiryDate;


    /**
     * 标准化配置
     */
    //@ApiModelProperty(value = "标准化配置")
    //@ExcelProperty(value = "标准化配置")
    private String standardizedConfiguration;

    /**
     * 个性化配置
     */
    //@ApiModelProperty(value = "个性化配置")
    //@ExcelProperty(value = "个性化配置")
    private String personalizedConfiguration;

    /**
     * 系统调仓偏好
     */
    //@ApiModelProperty(value = "系统调仓偏好")
    //@ExcelProperty(value = "系统调仓偏好")
    private String systemRebalancePreference;

    /**
     * 系统调仓偏好类型
     */
    //@ApiModelProperty(value = "系统调仓偏好类型")
    //@ExcelProperty(value = "系统调仓偏好类型")
    private String systemRebalancePreferenceType;

    /**
     * 宏观分析ID
     */
    //@ApiModelProperty(value = "宏观分析ID")
    //@ExcelProperty(value = "宏观分析ID")
    private String categoryId;

    /**
     * 创建人
     */
    //@ApiModelProperty(value = "创建人")
    //@ExcelProperty(value = "创建人")
    private String createUser;

    /**
     * 创建时间
     */
    //@ApiModelProperty(value = "创建时间")
    //@ExcelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    //@ApiModelProperty(value = "更新人")
    //@ExcelProperty(value = "更新人")
    private String updateUser;

    /**
     * 更新时间
     */
    //@ApiModelProperty(value = "更新时间")
    //@ExcelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 启用级别
     */
    //@ApiModelProperty(value = "启用级别")
    //@ExcelProperty(value = "启用级别")
    private String permissionLevel;

    /**
     * 设置权限
     */
    //@ApiModelProperty(value = "设置权限")
    //@ExcelProperty(value = "设置权限")
    private String permission;

    /**
     * 解读
     */
    //@ApiModelProperty(value = "解读")
    //@ExcelProperty(value = "解读")
    private String interpret;

    /**
     * 客户产品方案信息
     */
    //@ApiModelProperty(value = "客户产品方案信息")
    //@ExcelProperty(value = "客户产品方案信息")
    private List<DwdAstCustomerProductPlan> dwdAstCustomerProductPlans;

    /**
     * 诊断配置建议
     */
    //@ApiModelProperty(value = "诊断配置建议")
    //@ExcelProperty(value = "诊断配置建议")
    private List<DwdAstDiagnosisConfigAdvice> dwdAstDiagnosisConfigAdvice;
    //@ApiModelProperty(value = "是否是新客（持仓客户是01，新客为02）")
    //@ExcelProperty(value = "是否是新客（持仓客户是01，新客为02）")
    private String isNewCustomer ;


    /**
     * 倾听
     */
    //@ApiModelProperty(value = "倾听")
    //@ExcelProperty(value = "倾听")
    private String listenName;

    /**
     * 持仓年化收益
     */
    //@ApiModelProperty(value = "下载地址")
    //@ExcelProperty(value = "下载地址")
    private String planUrl;

    /**
     * 机构ID
     */
    //@ApiModelProperty(value = "机构ID")
    //@ExcelProperty(value = "机构ID")
    private String orgId;


    /**
     * 机构名称
     */
    //@ApiModelProperty(value = "机构名称")
    //@ExcelProperty(value = "机构名称")
    private String orgName;

    /**
     * 用户角色
     */
    //@ApiModelProperty(value = "用户角色")
    //@ExcelProperty(value = "用户角色")
    private String userRole;

   /**
     * 创建人名称
     */
    //@ApiModelProperty(value = "创建人名称")
    //@ExcelProperty(value = "创建人名称")
    private String createName;

    /**
     * 更新人名称
     */
    //@ApiModelProperty(value = "更新人名称")
    //@ExcelProperty(value = "更新人名称")
    private String updateName;


    /**
     * 集合ID
     */
    //@ApiModelProperty(value = "集合ID,用来选择导出用")
    //@ExcelProperty(value = "集合ID")
    private List<String> planIdList;


    /**
     * 组合ID
     */
    //@ApiModelProperty(value = "组合ID")
    //@ExcelProperty(value = "组合ID")
    private String templateId;

    /** 客户端类型2为PC，1为手机 */
    //@ApiModelProperty(value = "客户端类型2为PC，1为手机")
    //@ExcelProperty(value = "客户端类型2为PC，1为手机")
    private String clientType ;

    /**
     * 当前市值
     */
    //@ApiModelProperty(value = "当前市值")
    //@ExcelProperty(value = "当前市值")
    private BigDecimal currentMarketValue;

    //@ApiModelProperty(value = "状态(02-已上线/03-已下线)")
    //@ExcelProperty(value = "状态(02-已上线/03-已下线)")
    private String status;

    //@ApiModelProperty(value = "状态名称")
    //@ExcelProperty(value = "状态名称")
    private String statusName;

    //@ApiModelProperty(value = "角色ID")
    //@ExcelProperty(value = "角色ID")
    private String roleId;

    /**
     * 集合ID
     */
    //@ApiModelProperty(value = "机构ID集合")
    //@ExcelProperty(value = "机构ID集合")
    private List<String> orgCodeList;

    //@ApiModelProperty(value = "大零售类型，H5是手机，PC为电脑端")
    //@ExcelProperty(value = "大零售类型，H5是手机，PC为电脑端")
    private String dlsType;

}
